1. Field of the Invention
This invention relates to the field of printers capable of printing text and/or graphics onto a physical medium.
2. Description of the Related Art
Digital printers typically are used to translate, and print onto a physical medium, such as paper, a text or graphics image represented by a digital signal in a computer. The digital signal concurrently may be being displayed on a video monitor coupled to the computer and typically is resident in computer memory. Typically, a computer user initiates a command for the digital signal to be transmitted over a data bus from the computer to the printer for printing.
The mechanism in a printer responsible for actually printing characters and graphics is called a print engine. Printers have different types of print engines which determine the way in which they print characters onto a physical medium. Print engines, and thus printers, can be grouped into five main types: dot-matrix, thermal, character, ink-jet, and laser. For example, a dot-matrix printer forms characters on a page by striking the paper through an inked ribbon with a series of wires. As the print head passes across the page, various ones of the wires are energized and thrust forward to impact the paper through the inked ribbon, leaving various patterns of dots on the paper.
Thermal printers use heat to form dots on paper. Instead of driving a wire forward, the electrical current in the print head in a thermal printer heats a dot element which is in contact with a special heat-sensitive paper. When the paper is heated by the dot element of the head, it turns dark in the spot or spots that were heated.
Character printers include a die which has fully formed characters molded into the head. The particular character desired is made to strike the paper through an inked ribbon.
Ink-jet printers paint the characters onto the page with liquid ink. Finally, laser printers, which can produce ultra-high density matrix graphics, print using a laser beam. Laser printers include a photosensitive drum. When laser light strikes this drum, it causes changes in the drums surface characteristics in those places struck by light, typically by generating a positive or negative charge in those regions struck. The drum continues rolling to pick up toner which typically has an electrical charge opposite in polarity to that imparted to the drum by the laser. As the drum continues to rotate, paper is fed along the drum path and the drum transfers the toner to the paper. The toner is then melted into the paper using a heat lamp to produce the permanent text and/or graphics on the paper.
Referring now to FIGS. 1 and 2, a conventional printer 10 typically includes control processor 11, read-only memory (ROM) 13 and data and command buffers 15. Printer 10 is coupled to computer 20 over bi-directional data bus 16. Conventional computers, such as computer 20, typically include memory 22 and processor 24. Computer 20 is coupled to video monitor 26 for display of text and graphics.
A functional block diagram of printer 10 is shown in FIG. 2. Digital signals representing text or graphics generated by and/or stored in computer 20 are sent to printer 10 over bus 16 for printing. The digital signals may be displayed as an image on video monitor 26 enabling a user of computer 20 to view the image before it is printed. Typically, the digital signals representing the image are stored in memory 22 of computer 20.
Generally, when a print command is issued, for example by a user of computer 20, a digital signal representation of a text and or graphics image to be printed (data signal) and a series of command characters are transmitted from computer 20 over bus 16 to printer 10. The command characters are interpreted by control processor 11 of printer 10 and instruct printer 10 where and how to print the text and graphics image and include, for example, instructions concerning font type, which affects character style, point size, which affects character size, spacing and the like. The data signals and command characters enter the printer and typically are stored in a memory buffer, such as input/output (I/O) buffer 15.1 which is part of a series of buffers comprising data and command buffers 15.
While in I/O buffer 15.1, control processor 11 of printer 10 analyzes the stored information to separate the command characters from the data signals. Both the data signals and command characters typically are then moved into page intermediate buffer 15.2 of data and command buffers 15.
Control processor 11 then executes the instructions denoted by the command characters stored in page intermediate buffer 15.2, typically in conjunction with processing software stored in ROM 13. Control processor 11 also sorts the data signals to ensure correct orientation of the printed text or graphics image on the printed page. Preferably, control processor 11 converts any graphics data signals stored in page intermediate buffer 15.2 into a bit-mapped format. Graphics data signals, especially color graphics data signals, stored in bit-map format require significant amounts of memory, and typically limit the size and quality of the graphics that may be printed by conventional printers.
Digital signals representing graphics and text images remain in page intermediate buffer 15.2 until the buffer accumulates a complete page of data signals to be printed, at which point the bit-mapped graphics and text data signals are intermittently moved into another element of data and command buffer 15, such as strip buffers 15.3. Data in strip buffers 15.3 can be called print head signals since they directly translate into the images printed by print engine 17. Control processor 11 arranges signals in the strip buffers 15.3 into sequential horizontal lines for printing. The data signals representing text typically are first converted into an appropriate bit-mapped image in accordance with the command characters. The bit-mapped text images typically are pre-stored in printer memory, such as in ROM 13. ROM 13 can include one or more plug-in memory cards, for example to provide greater selection of character sizes and font styles.
Certain embodiments of conventional printers do not include pre-stored bit-mapped text images, but instead use software resident in printer memory, such as ROM 13, run by control processor 11 to generate the various text point sizes and font styles, for example according to instructions provided by the command characters.
Regardless of the origin of the bit-mapped image ready for printing, horizontal strips of it are transmitted to one of the buffers in strip buffers 15.3 to provide print head signals. Once a strip buffer is filled, for example with print head signals, which typically represent a plurality of pixels or dots of an image, its contents are transmitted to print engine 17 for printing onto a physical medium such as paper.
When a strip buffer is emptied, it receives new data from page intermediate buffer 15.2. Typically, while one strip buffer is being emptied, for example as it provides print head signals to the print engine, one or more other strip buffers are being filled, or have been filled and are waiting to be emptied. The strip buffers 15.3 permit the printer to prepare data for printing independently of the speed with which the print engine is operating and provide for immediate access to print head signals by print engine 17 on an as-needed basis. If the preparation process exceeds the print process, it can be halted or slowed by control processor 11. However, if the speed of the print process greatly exceeds that of the preparation process such that all strip buffers 15.3 have been emptied, an error typically will occur. This illustrates the importance of the timely provision of print head signals to the print engine.
Control processor 11 in conjunction with software stored, for example, in ROM 13, further is capable of manipulating digital image signals from computer 20 prior to printing, for example to improve image quality. For example, control processor 11 can perform image enhancement on the digital signal representing the image on, for example, video monitor 26. Control processor 11 also might decompress a digital image signal transmitted from computer 20, for example, representing a complex graphics image or the like.
It is evident, therefore, that real-time printing in conventional printers depends on the timely provision of print head signals to the print engine, such as is provided by strip buffers 15.3 in conventional printers. Strip buffers 15.3 must be instantly accessible by the print engine when the print engine is ready to accept data and print. In a conventional printer coupled to a computer through a conventional bus, direct coupling of print-head signals from the computer to the print engine would inhibit real-time printing because the relatively high latency and low bandwidth of bus 16 limits the amount of real-time data transfer to the print engine. In essence, digital image signals generally would not be instantly accessible by the print engine in real-time. This is especially true where the digital image signal to be printed represents complex or color graphics.